#include <stdio.h>

#if 0
int fscanf(FILE *stream, const char *format, ...);
函数作用：跟scanf有点类似，只不过scanf是固定从标准输入中读取数据  fscanf是可以从指定的文件中读取数据

返回值：
        成功：读取到的数据的个数
#endif 

int main()
{
#if 0
    //scanf --->以指定的格式从标准输入(键盘设备文件)读取数据，存储到用户的内存空间
    char name[256] = {0};
    int age;

    int ret = scanf("%s%d",name,&age);

    printf("ret:%d name = %s, age = %d\n",ret,name,age);
#endif 

#if 0
    char name[256] = {0};
    int age;
    int ret = fscanf(stdin,"%s %d",name,&age);

    printf("ret:%d name = %s, age = %d\n",ret,name,age);
#endif 

    FILE *fp = fopen("1.txt","r");
    if(fp == NULL)
    {
        perror("fopen");
        return -1;
    }

    while(1)
    {
        char name[256] = {0};
        int age;
        //从指定的文件fp(1.txt)中 获取指定格式  %s  %d  存储到用户的内存空间
        int ret = fscanf(fp,"%s %d",name,&age);

        printf("ret:%d name = %s, age = %d\n",ret,name,age);
        
        //如果读取到文件末尾，则退出循环   feof 如果到达末尾了，则返回 非0 
        if(feof(fp))
        {
            break;
        }
    }

    fclose(fp);
    return 0;
}
